package com.Pawtrack.info.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.Pawtrack.common.annotation.Excel;
import com.Pawtrack.common.core.domain.BaseEntity;

/**
 * 宠物提醒对象 pet_reminder
 * 
 * @author ruoyi
 * @date 2025-08-14
 */
public class PetReminder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 提醒ID */
    private String id;

    /** 宠物ID */
    @Excel(name = "宠物ID")
    private Long petId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 提醒标题 */
    @Excel(name = "提醒标题")
    private String title;

    /** 提醒内容 */
    @Excel(name = "提醒内容")
    private String content;

    /** 提醒类型（健康/疫苗/驱虫/体检/体重/自定义） */
    @Excel(name = "提醒类型", readConverterExp = "健康=健康,疫苗=疫苗,驱虫=驱虫,体检=体检,体重=体重,自定义=自定义")
    private String reminderType;

    /** 提醒时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "提醒时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date reminderTime;

    /** 重复类型（不重复/每天/每周/每月/每年） */
    @Excel(name = "重复类型", readConverterExp = "不重复=不重复,每天=每天,每周=每周,每月=每月,每年=每年")
    private String repeatType;

    /** 状态（0待处理 1已完成 2已过期） */
    @Excel(name = "状态", readConverterExp = "0=待处理,1=已完成,2=已过期")
    private String status;

    /** 优先级（低/普通/高） */
    @Excel(name = "优先级", readConverterExp = "低=低,普通=普通,高=高")
    private String priority;

    /** 是否启用（0禁用 1启用） */
    @Excel(name = "是否启用", readConverterExp = "0=禁用,1=启用")
    private String isEnabled;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 备注 */
    private String remark;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }

    public void setPetId(Long petId) 
    {
        this.petId = petId;
    }

    public Long getPetId() 
    {
        return petId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }

    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }

    public void setReminderType(String reminderType) 
    {
        this.reminderType = reminderType;
    }

    public String getReminderType() 
    {
        return reminderType;
    }

    public void setReminderTime(Date reminderTime) 
    {
        this.reminderTime = reminderTime;
    }

    public Date getReminderTime() 
    {
        return reminderTime;
    }

    public void setRepeatType(String repeatType) 
    {
        this.repeatType = repeatType;
    }

    public String getRepeatType() 
    {
        return repeatType;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setPriority(String priority) 
    {
        this.priority = priority;
    }

    public String getPriority() 
    {
        return priority;
    }

    public void setIsEnabled(String isEnabled) 
    {
        this.isEnabled = isEnabled;
    }

    public String getIsEnabled() 
    {
        return isEnabled;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public void setRemark(String remark) 
    {
        this.remark = remark;
    }

    public String getRemark() 
    {
        return remark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("petId", getPetId())
            .append("userId", getUserId())
            .append("title", getTitle())
            .append("content", getContent())
            .append("reminderType", getReminderType())
            .append("reminderTime", getReminderTime())
            .append("repeatType", getRepeatType())
            .append("status", getStatus())
            .append("priority", getPriority())
            .append("isEnabled", getIsEnabled())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }
}